﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace DocTes.Jerarquias
{
	/// <summary>
	/// Adaptador para JerarquiaCarpetaHierarchicalEnumerable
	/// </summary>
	public class JerarquiaCarpetaHierarchicalEnumerableAdp : IJerarquiaCarpetaHierarchicalEnumerable
	{
		private JerarquiaCarpetaHierarchicalEnumerable _jerarquiaCarpetaEnumerable;

		/// <summary>
		/// Propiedad para obtener el objeto real
		/// </summary>
		public JerarquiaCarpetaHierarchicalEnumerable ObjetoReal
		{
			get { return _jerarquiaCarpetaEnumerable; }
		}

		/// <summary>
		/// Constructor construye un objeto real
		/// </summary>
		public JerarquiaCarpetaHierarchicalEnumerableAdp()
		{
			_jerarquiaCarpetaEnumerable = new JerarquiaCarpetaHierarchicalEnumerable();
			
		}

		/// <summary>
		/// Wrapper de la funcion GetHierarchyData
		/// </summary>
		/// <param name="enumeratedItem"></param>
		/// <returns></returns>
		public IHierarchyData GetHierarchyData(object enumeratedItem)
		{
			return _jerarquiaCarpetaEnumerable.GetHierarchyData(enumeratedItem);
		}


		#region IJerarquiaCarpetaHierarchicalEnumerable Members

		/// <summary>
		/// Wrap del método Add de la interfaz IJerarquiaCarpetaHierarchicalEnumerable
		/// </summary>
		/// <param name="hierarchyData"></param>
		public void Add(IHierarchyData hierarchyData)
		{
			_jerarquiaCarpetaEnumerable.Add(hierarchyData);
		}

		#endregion

		#region IEnumerable Members

		/// <summary>
		/// Wrap del método GetEnumerator de IEnumerable
		/// </summary>
		/// <returns></returns>
		public System.Collections.IEnumerator GetEnumerator()
		{
			return _jerarquiaCarpetaEnumerable.GetEnumerator();
		}

		#endregion
	}
}
